package leetcode_acm.array;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

/**
 * 功能描述
 *
 * @author: 张庭杰
 * @date: 2023年03月21日 20:31
 */
public class IsHappy {
    public boolean isHappy(int n) {
        Set<Integer> set = new HashSet<>();
        while(true){
            int sum = getSum(n);
            if(sum == 1){
                return true;
            }
            if(set.contains(sum)){
                break;
            }else{
                set.add(sum);
            }
        }
        return false;
    }
    private int getSum(int n){
        int sum = 0;
        while(n != 0){
            int digit = sum %10;
            n /= 10;
            sum += digit*digit;
        }
        return sum;
    }
}
